#pragma once 

#define SIZE 4096
#define FLUSH_NONE (1 << 0)  
#define FLUSH_LINE (1 << 1)
#define FLUSH_ALL  (1 << 2)

typedef struct myFILE 
{
    int fileno;
    int flag;
    char buffer[SIZE];
    int end;
} myFILE;

myFILE* my_fopen(const char* path, const char* mode);

int my_fwrite(const char* s, int num, myFILE* stream);

int my_fflush(myFILE* stream);

int my_fclose(myFILE* stream);
